<?php

/**
 * 调试打印
 * @return void
 */
function p()
{
    echo '<pre>';
    if (count(func_get_args())) {
        foreach (func_get_args() as $i) {
            var_export($i);
        }
    } else {
        echo '<br>';
    }
    echo '</pre>';
}

/**
 * 获得浏览器
 */
function browser_info()
{
    if (!empty($_SERVER['HTTP_USER_AGENT'])) {

        $br = $_SERVER['HTTP_USER_AGENT'];
        if (preg_match('/MSIE/i', $br)) {
            $br = 'MSIE';
        } else if (preg_match('/Firefox/i', $br)) {
            $br = 'Firefox';
        } else if (preg_match('/Chrome/i', $br)) {
            $br = 'Chrome';
        } else if (preg_match('/Safari/i', $br)) {
            $br = 'Safari';
        } else if (preg_match('/Opera/i', $br)) {
            $br = 'Opera';
        } else {
            $br = 'Other';
        }

        return $br;
    } else {

        return 'unknow';
    }
}

/**
 * 利用php自带函数计算
 * @param $start string 第一个参数
 * @param $end   string 第二个参数
 * @return array|string 时间数组|错误字符串
 */
function dateDiff($start, $end)
{
    $data = ['start' => $start, 'end' => $end];
    //判断是否为时间格式或时间戳,统一转为时间格式
    foreach ($data as &$v) {
        if (strtotime($v) || strtotime(date("Y-m-d H:i:s", (int)$v)) == $v) {
            if (!strtotime($v)) {
                $v = date("Y-m-d H:i:s", $v);
            }
        } else {
            return '时间格式有误';
        }
    }
    $datetime1 = new DateTime($data['start']);
    $datetime2 = new DateTime($data['end']);
    $interval = $datetime1->diff($datetime2);
    //相差总天数
    $data['day'] = $interval->format('%a');
    //相差小时
    $data['hour'] = $interval->format('%h');
    //相差分钟数
    $data['min'] = $interval->format('%i');
    //相差秒数
    $data['sec'] = $interval->format('%s');
    return $data;
}